package com.leiyuan.content.service;

import com.leiyuan.dto.AddCourseDto;
import com.leiyuan.dto.CourseBaseInfoDto;
import com.leiyuan.dto.EditCourseDto;
import com.leiyuan.dto.QueryCourseParamsDto;
import com.leiyuan.model.PageParams;
import com.leiyuan.model.PageResult;
import com.leiyuan.po.CourseBase;

/**
 * @description 课程基本信息管理业务接口
 * @author leiyuan
 * @date 2023/4/17 15:16
*/
public interface CourseBaseInfoService {

    /**
     * @description 课程查询接口
     * @param pageParams 分页参数
     * @param queryCourseParamsDto 条件
     * @return com.leiyuan.model.PageResult<com.leiyuan.po.CourseBase>
     * @author leiyuan
     * @date 2023/4/17 15:15
    */
    public PageResult<CourseBase> queryCourseBaseList(Long companyId,PageParams pageParams, QueryCourseParamsDto queryCourseParamsDto);

    /**
     * @description 添加课程基本信息
     * @param companyId 教学机构id
     * @param addCourseDto 课程基本信息
     * @return com.leiyuan.dto.CourseBaseInfoDto
     * @author leiyuan
     * @date 2023/4/17 22:26
    */
    public CourseBaseInfoDto createCourseBase(Long companyId, AddCourseDto addCourseDto);

    /**
     * @description 根据id查询课程基本信息
     * @param courseId 课程id
     * @return com.leiyuan.dto.CourseBaseInfoDto
     * @author leiyuan
     * @date 2023/4/18 16:53
    */
    public CourseBaseInfoDto getCourseBaseInfo(long courseId);

    /**
     * @description 修改课程信息
     * @param companyId  机构id
     * @param dto  课程信息
     * @return com.leiyuan.dto.CourseBaseInfoDto
     * @author leiyuan
     * @date 2023/4/18 16:53
     */
    public CourseBaseInfoDto updateCourseBase(Long companyId, EditCourseDto dto);
}
